package com.payment.system.mapper;

import com.payment.common.annotation.DataSource;
import com.payment.common.enums.DataSourceType;
import com.payment.system.domain.Announcement;
import com.payment.system.vo.AnnouncementVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 公告 数据层
 * 
 * @author payment
 * @date 2019-01-14
 */
public interface AnnouncementMapper 
{
	/**
     * 查询公告信息
     * 
     * @param id 公告ID
     * @return 公告信息
     */
	@DataSource(DataSourceType.SLAVE)
	public Announcement selectAnnouncementById(String id);
	
	/**
     * 查询公告列表
     * 
     * @param announcement 公告信息
     * @return 公告集合
     */
	@DataSource(DataSourceType.SLAVE)
	public List<Announcement> selectAnnouncementList(Announcement announcement);
	
	/**
     * 新增公告
     * 
     * @param announcement 公告信息
     * @return 结果
     */
	public int insertAnnouncement(Announcement announcement);
	
	/**
     * 修改公告
     * 
     * @param announcement 公告信息
     * @return 结果
     */
	public int updateAnnouncement(Announcement announcement);
	
	/**
     * 删除公告
     * 
     * @param id 公告ID
     * @return 结果
     */
	public int deleteAnnouncementById(String id);
	
	/**
     * 批量删除公告
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteAnnouncementByIds(String[] ids);

	//修改状态： 启用禁用
    int changeStatusById(@Param("id") String id, @Param("status") String status);

    //app端 公告列表
	@DataSource(DataSourceType.SLAVE)
	List<AnnouncementVo>  selectAnnouncementListByApp();
}